#ifndef DEVICE_MDLE_H
#define DEVICE_MDLE_H

#include <QWidget>
#include <QTableWidget>
#include "../interface_mdle/interface_mdle.h"
#include "../../public_opt_subs/table_mdle/funciton_blck/QTableWidgetSave.h"
namespace Ui {
class device_mdle;
}

class device_mdle : public QWidget
{
    Q_OBJECT

public:
    explicit device_mdle(QWidget *parent = nullptr);
    ~device_mdle();

    // --------------------------------------------
    // 提供各个参数的获取途径
    QString    getDevName(); //! 获取器件名
    QString    getDevCode(); //! 获取器件编码
    QList<int> getSite(); //! 获取位置
    QList<int> getSize(); //! 获取大小

    QList<QString> getInput(); //! 获取输入端口
    QList<QString> getOutput(); //! 获取输出端口

    void setDevName(QString   ); //! 获取器件名
    void setDevCode(QString   ); //! 获取器件编码
    void setSite( int x0, int y0, int x1, int y1); //! 获取位置
    // --------------------------------------------
    // 提供拷贝
    QList <QString> getDate(); //! 获取所有的器件数据
    void setDate(QList <QString>); //! 获取所有的器件数据

    // --------------------------------------------
    // 提供缓存
    void save(QString &fileName);
    void load(QString &fileName);

private:
    Ui::device_mdle *ui;
protected:
    QTableWidgetSave *table; //器件信息


};

#endif // DEVICE_MDLE_H
